﻿#define _CRT_SECURE_NO_WARNINGS
#include"Binary_Search.h"

//当前二叉树版本是Key搜索场景：
//只有key作为关键码，结构中只需要存储key即可，关键码即为需要搜索到的值，搜索场景只需要判断
//key在不在。key的搜索场景实现的⼆叉树搜索树⽀持增删查，但是不⽀持修改，修改key破坏搜索树结
//构了。
//场景1：⼩区⽆⼈值守⻋库，⼩区⻋库买了⻋位的业主⻋才能进⼩区，那么物业会把买了⻋位的业主的
//⻋牌号录⼊后台系统，⻋辆进⼊时扫描⻋牌在不在系统中，在则抬杆，不在则提⽰⾮本⼩区⻋辆，⽆
//法进⼊。
//场景2：检查⼀篇英⽂⽂章单词拼写是否正确，将词库中所有单词放⼊⼆叉搜索树，读取⽂章中的单
//词，查找是否在⼆叉搜索树中，不在则波浪线标红提⽰。


void test1(){
	int arr[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
	BSTree<int> t;
	for (auto num : arr) {
		t.Insert(num);
	}
	t.MidOrder();
}
void test2() {
	int arr[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13 };
	BSTree<int> t;
	for (auto num : arr) {
		t.Insert(num);
	}
	t.MidOrder();
	for (auto num : arr) {
		t.Erase(num);
		t.MidOrder();
	}
}
void test3() {

	int arr[] = { 8, 3, 1, 10, 6, 4, 7, 14, 13,9,17 };
	BSTree<int> t1;
	for (auto num : arr) {
		t1.Insert(num);
	}

	BSTree<int> t2 = t1;
	t2.MidOrder();
	BSTree<int> t3;
	t3 = t2;
	t3.MidOrder();
}
int main() {

	test3();
	return 0;
}